namespace ext.grid
{
	using System;
	using System.Runtime.CompilerServices;
	using System.Html;
	using System.Collections;
	
	
	/// <summary>
	/// This class encapsulates the user interface of an {@link Ext.grid.GridPanel}.
	/// Methods of this class may be used to access user interface elements to enable
	/// special display effects. Do not change the DOM structure of the user interface.  This class does not provide ways to manipulate the underlying data. The data
	/// model of a Grid is held in an {@link Ext.data.Store}.
	/// </summary>
	/// <htmlSummary>
	/// &lt;p&gt;This class encapsulates the user interface of an {@link Ext.grid.GridPanel}.
	/// Methods of this class may be used to access user interface elements to enable
	/// special display effects. Do not change the DOM structure of the user interface.&lt;/p&gt;
	/// &lt;p&gt;This class does not provide ways to manipulate the underlying data. The data
	/// model of a Grid is held in an {@link Ext.data.Store}.&lt;/p&gt;
	/// </htmlSummary>
	/// <definedin>src\widgets\grid\GridView.js</definedin>
	[ScriptName("GridView")]
	[ScriptNamespace("Ext.grid")]
	[Imported()]
	public partial class GridView : ext.util.Observable
	{
		
		#region Constructors
		/// <summary>Constructor</summary>
		/// <param name="config"></param>
		public GridView(ext.grid.GridView_Configuration config)
		{
		}
		
		/// <summary>Constructor</summary>
		public GridView()
		{
		}
		#endregion
		
		#region Fields
		/// <summary>
		/// True to add a second TR element per row that can be used to provide a row body
		/// that spans beneath the data row. Use the {@link #getRowClass} method&apos;s rowParams config to customize the row body.
		/// </summary>
		/// <definedin>src\widgets\grid\GridView.js</definedin>
		[ScriptName("enableRowBody")]
		public bool EnableRowBody;
		
		/// <summary>
		/// Default text (html tags are accepted) to display in the grid body when no rows
		/// are available (defaults to &apos;&apos;). This value will be used to update the {@link #mainBody}:
		/// 
		/// this.mainBody.update(&apos;&amp;lt;div class=&quot;x-grid-empty&quot;&gt;&apos; + this.emptyText + &apos;&amp;lt;/div&gt;&apos;);
		/// </summary>
		/// <htmlSummary>
		/// Default text (html tags are accepted) to display in the grid body when no rows
		/// are available (defaults to &apos;&apos;). This value will be used to update the &lt;tt&gt;{@link #mainBody}&lt;/tt&gt;:
		/// &lt;pre&gt;&lt;code&gt;
		/// this.mainBody.update(&apos;&amp;lt;div class=&quot;x-grid-empty&quot;&gt;&apos; + this.emptyText + &apos;&amp;lt;/div&gt;&apos;);
		/// &lt;/code&gt;&lt;/pre&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\grid\GridView.js</definedin>
		[ScriptName("emptyText")]
		public string EmptyText;
		
		/// <summary>
		/// True to disable the grid column headers (defaults to false).
		/// Use the {@link Ext.grid.ColumnModel ColumnModel} {@link Ext.grid.ColumnModel#menuDisabled menuDisabled}
		/// config to disable the menu for individual columns. While this config is true the
		/// following will be disabled:   clicking on header to sort  the trigger to reveal the menu.
		/// </summary>
		/// <htmlSummary>
		/// True to disable the grid column headers (defaults to &lt;tt&gt;false&lt;/tt&gt;).
		/// Use the {@link Ext.grid.ColumnModel ColumnModel} &lt;tt&gt;{@link Ext.grid.ColumnModel#menuDisabled menuDisabled}&lt;/tt&gt;
		/// config to disable the &lt;i&gt;menu&lt;/i&gt; for individual columns. While this config is true the
		/// following will be disabled:&lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
		/// &lt;li&gt;clicking on header to sort&lt;/li&gt;
		/// &lt;li&gt;the trigger to reveal the menu.&lt;/li&gt;
		/// &lt;/ul&gt;&lt;/div&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\grid\GridView.js</definedin>
		[ScriptName("headersDisabled")]
		public bool HeadersDisabled;
		
		/// <summary>
		/// True to defer {@link #emptyText} being applied until the store&apos;s
		/// first load (defaults to true).
		/// </summary>
		/// <htmlSummary>
		/// True to defer &lt;tt&gt;{@link #emptyText}&lt;/tt&gt; being applied until the store&apos;s
		/// first load (defaults to &lt;tt&gt;true&lt;/tt&gt;).
		/// </htmlSummary>
		/// <definedin>src\widgets\grid\GridView.js</definedin>
		[ScriptName("deferEmptyText")]
		public bool DeferEmptyText;
		
		/// <summary>
		/// The amount of space to reserve for the vertical scrollbar
		/// (defaults to undefined). If an explicit value isn&apos;t specified, this will be automatically
		/// calculated.
		/// </summary>
		/// <htmlSummary>
		/// The amount of space to reserve for the vertical scrollbar
		/// (defaults to &lt;tt&gt;undefined&lt;/tt&gt;). If an explicit value isn&apos;t specified, this will be automatically
		/// calculated.
		/// </htmlSummary>
		/// <definedin>src\widgets\grid\GridView.js</definedin>
		[ScriptName("scrollOffset")]
		public System.Number ScrollOffset;
		
		/// <summary>
		/// Defaults to false. Specify true to have the column widths re-proportioned
		/// when the grid is initially rendered. The
		/// {@link Ext.grid.Column#width initially configured width} of each column will be adjusted
		/// to fit the grid width and prevent horizontal scrolling. If columns are later resized (manually
		/// or programmatically), the other columns in the grid will not be resized to fit the grid width.
		/// See {@link #forceFit} also.
		/// </summary>
		/// <htmlSummary>
		/// Defaults to &lt;tt&gt;false&lt;/tt&gt;. Specify &lt;tt&gt;true&lt;/tt&gt; to have the column widths re-proportioned
		/// when the grid is &lt;b&gt;initially rendered&lt;/b&gt;. The
		/// {@link Ext.grid.Column#width initially configured width}&lt;/tt&gt; of each column will be adjusted
		/// to fit the grid width and prevent horizontal scrolling. If columns are later resized (manually
		/// or programmatically), the other columns in the grid will &lt;b&gt;not&lt;/b&gt; be resized to fit the grid width.
		/// See &lt;tt&gt;{@link #forceFit}&lt;/tt&gt; also.
		/// </htmlSummary>
		/// <definedin>src\widgets\grid\GridView.js</definedin>
		[ScriptName("autoFill")]
		public bool AutoFill;
		
		/// <summary>
		/// Defaults to false. Specify true to have the column widths re-proportioned
		/// at all times.  The {@link Ext.grid.Column#width initially configured width} of each
		/// column will be adjusted to fit the grid width and prevent horizontal scrolling. If columns are
		/// later resized (manually or programmatically), the other columns in the grid will be resized
		/// to fit the grid width.  Columns which are configured with fixed: true are omitted from being resized.  See {@link #autoFill}.
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;Defaults to &lt;tt&gt;false&lt;/tt&gt;. Specify &lt;tt&gt;true&lt;/tt&gt; to have the column widths re-proportioned
		/// at &lt;b&gt;all times&lt;/b&gt;.&lt;/p&gt;
		/// &lt;p&gt;The {@link Ext.grid.Column#width initially configured width}&lt;/tt&gt; of each
		/// column will be adjusted to fit the grid width and prevent horizontal scrolling. If columns are
		/// later resized (manually or programmatically), the other columns in the grid &lt;b&gt;will&lt;/b&gt; be resized
		/// to fit the grid width.&lt;/p&gt;
		/// &lt;p&gt;Columns which are configured with &lt;code&gt;fixed: true&lt;/code&gt; are omitted from being resized.&lt;/p&gt;
		/// &lt;p&gt;See &lt;tt&gt;{@link #autoFill}&lt;/tt&gt;.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\grid\GridView.js</definedin>
		[ScriptName("forceFit")]
		public bool ForceFit;
		
		/// <summary>The CSS classes applied to a header when it is sorted. (defaults to [&apos;sort-asc&apos;, &apos;sort-desc&apos;])</summary>
		/// <htmlSummary>The CSS classes applied to a header when it is sorted. (defaults to &lt;tt&gt;[&apos;sort-asc&apos;, &apos;sort-desc&apos;]&lt;/tt&gt;)</htmlSummary>
		/// <definedin>src\widgets\grid\GridView.js</definedin>
		[ScriptName("sortClasses")]
		public System.Array SortClasses;
		
		/// <summary>The text displayed in the &apos;Sort Ascending&apos; menu item (defaults to &apos;Sort Ascending&apos;)</summary>
		/// <htmlSummary>The text displayed in the &apos;Sort Ascending&apos; menu item (defaults to &lt;tt&gt;&apos;Sort Ascending&apos;&lt;/tt&gt;)</htmlSummary>
		/// <definedin>src\widgets\grid\GridView.js</definedin>
		[ScriptName("sortAscText")]
		public string SortAscText;
		
		/// <summary>The text displayed in the &apos;Sort Descending&apos; menu item (defaults to &apos;Sort Descending&apos;)</summary>
		/// <htmlSummary>The text displayed in the &apos;Sort Descending&apos; menu item (defaults to &lt;tt&gt;&apos;Sort Descending&apos;&lt;/tt&gt;)</htmlSummary>
		/// <definedin>src\widgets\grid\GridView.js</definedin>
		[ScriptName("sortDescText")]
		public string SortDescText;
		
		/// <summary>The text displayed in the &apos;Columns&apos; menu item (defaults to &apos;Columns&apos;)</summary>
		/// <htmlSummary>The text displayed in the &apos;Columns&apos; menu item (defaults to &lt;tt&gt;&apos;Columns&apos;&lt;/tt&gt;)</htmlSummary>
		/// <definedin>src\widgets\grid\GridView.js</definedin>
		[ScriptName("columnsText")]
		public string ColumnsText;
		
		/// <summary>
		/// The CSS class applied to a selected row (defaults to &apos;x-grid3-row-selected&apos;). An
		/// example overriding the default styling:
		/// 
		/// .x-grid3-row-selected {background-color: yellow;}
		/// 
		/// Note that this only controls the row, and will not do anything for the text inside it. To style inner
		/// facets (like text) use something like:
		/// 
		/// .x-grid3-row-selected .x-grid3-cell-inner {
		/// color: #FFCC00;
		/// }
		/// </summary>
		/// <htmlSummary>
		/// The CSS class applied to a selected row (defaults to &lt;tt&gt;&apos;x-grid3-row-selected&apos;&lt;/tt&gt;). An
		/// example overriding the default styling:
		/// &lt;pre&gt;&lt;code&gt;
		/// .x-grid3-row-selected {background-color: yellow;}
		/// &lt;/code&gt;&lt;/pre&gt;
		/// Note that this only controls the row, and will not do anything for the text inside it. To style inner
		/// facets (like text) use something like:
		/// &lt;pre&gt;&lt;code&gt;
		/// .x-grid3-row-selected .x-grid3-cell-inner {
		/// color: #FFCC00;
		/// }
		/// &lt;/code&gt;&lt;/pre&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\grid\GridView.js</definedin>
		[ScriptName("selectedRowClass")]
		public string SelectedRowClass;
		
		/// <summary>True to show the dirty cell indicator when a cell has been modified. Defaults to true.</summary>
		/// <htmlSummary>True to show the dirty cell indicator when a cell has been modified. Defaults to &lt;tt&gt;true&lt;/tt&gt;.</htmlSummary>
		/// <definedin>src\widgets\grid\GridView.js</definedin>
		[ScriptName("markDirty")]
		public bool MarkDirty;
		
		/// <summary>The number of levels to search for cells in event delegation (defaults to 4)</summary>
		/// <htmlSummary>The number of levels to search for cells in event delegation (defaults to &lt;tt&gt;4&lt;/tt&gt;)</htmlSummary>
		/// <definedin>src\widgets\grid\GridView.js</definedin>
		[ScriptName("cellSelectorDepth")]
		public System.Number CellSelectorDepth;
		
		/// <summary>The number of levels to search for rows in event delegation (defaults to 10)</summary>
		/// <htmlSummary>The number of levels to search for rows in event delegation (defaults to &lt;tt&gt;10&lt;/tt&gt;)</htmlSummary>
		/// <definedin>src\widgets\grid\GridView.js</definedin>
		[ScriptName("rowSelectorDepth")]
		public System.Number RowSelectorDepth;
		
		/// <summary>The number of levels to search for row bodies in event delegation (defaults to 10)</summary>
		/// <htmlSummary>The number of levels to search for row bodies in event delegation (defaults to &lt;tt&gt;10&lt;/tt&gt;)</htmlSummary>
		/// <definedin>src\widgets\grid\GridView.js</definedin>
		[ScriptName("rowBodySelectorDepth")]
		public System.Number RowBodySelectorDepth;
		
		/// <summary>The selector used to find cells internally (defaults to &apos;td.x-grid3-cell&apos;)</summary>
		/// <htmlSummary>The selector used to find cells internally (defaults to &lt;tt&gt;&apos;td.x-grid3-cell&apos;&lt;/tt&gt;)</htmlSummary>
		/// <definedin>src\widgets\grid\GridView.js</definedin>
		[ScriptName("cellSelector")]
		public string CellSelector;
		
		/// <summary>The selector used to find rows internally (defaults to &apos;div.x-grid3-row&apos;)</summary>
		/// <htmlSummary>The selector used to find rows internally (defaults to &lt;tt&gt;&apos;div.x-grid3-row&apos;&lt;/tt&gt;)</htmlSummary>
		/// <definedin>src\widgets\grid\GridView.js</definedin>
		[ScriptName("rowSelector")]
		public string RowSelector;
		
		/// <summary>The selector used to find row bodies internally (defaults to &apos;div.x-grid3-row&apos;)</summary>
		/// <htmlSummary>The selector used to find row bodies internally (defaults to &lt;tt&gt;&apos;div.x-grid3-row&apos;&lt;/tt&gt;)</htmlSummary>
		/// <definedin>src\widgets\grid\GridView.js</definedin>
		[ScriptName("rowBodySelector")]
		public string RowBodySelector;
		
		/// <summary>The CSS class to add to the header cell when its menu is visible. Defaults to &apos;x-grid3-hd-menu-open&apos;</summary>
		/// <definedin>src\widgets\grid\GridView.js</definedin>
		[ScriptName("headerMenuOpenCls")]
		public string HeaderMenuOpenCls;
		
		/// <summary>The CSS class added to each row when it is hovered over. Defaults to &apos;x-grid3-row-over&apos;</summary>
		/// <definedin>src\widgets\grid\GridView.js</definedin>
		[ScriptName("rowOverCls")]
		public string RowOverCls;
		
		/// <summary>Internal UI Event. Fired before a row is removed.</summary>
		/// <definedin>src\widgets\grid\GridView.js</definedin>
		[ScriptName("beforerowremovedEventName")]
		public const string BeforerowremovedEventName = "beforerowremoved";
		
		/// <summary>Internal UI Event. Fired before rows are inserted.</summary>
		/// <definedin>src\widgets\grid\GridView.js</definedin>
		[ScriptName("beforerowsinsertedEventName")]
		public const string BeforerowsinsertedEventName = "beforerowsinserted";
		
		/// <summary>Internal UI Event. Fired before the view is refreshed.</summary>
		/// <definedin>src\widgets\grid\GridView.js</definedin>
		[ScriptName("beforerefreshEventName")]
		public const string BeforerefreshEventName = "beforerefresh";
		
		/// <summary>Internal UI Event. Fired after a row is removed.</summary>
		/// <definedin>src\widgets\grid\GridView.js</definedin>
		[ScriptName("rowremovedEventName")]
		public const string RowremovedEventName = "rowremoved";
		
		/// <summary>Internal UI Event. Fired after rows are inserted.</summary>
		/// <definedin>src\widgets\grid\GridView.js</definedin>
		[ScriptName("rowsinsertedEventName")]
		public const string RowsinsertedEventName = "rowsinserted";
		
		/// <summary>Internal UI Event. Fired after a row has been updated.</summary>
		/// <definedin>src\widgets\grid\GridView.js</definedin>
		[ScriptName("rowupdatedEventName")]
		public const string RowupdatedEventName = "rowupdated";
		
		/// <summary>Internal UI Event. Fired after the GridView&apos;s body has been refreshed.</summary>
		/// <definedin>src\widgets\grid\GridView.js</definedin>
		[ScriptName("refreshEventName")]
		public const string RefreshEventName = "refresh";
		#endregion
		
		#region Properties
		/// <summary>
		/// A customized implementation of a {@link Ext.dd.DragZone DragZone} which provides default implementations
		/// of the template methods of DragZone to enable dragging of the selected rows of a GridPanel.
		/// See {@link Ext.grid.GridDragZone} for details.  This will only be present:   if the owning GridPanel was configured with {@link Ext.grid.GridPanel#enableDragDrop enableDragDrop}: true.  after the owning GridPanel has been rendered.
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;A customized implementation of a {@link Ext.dd.DragZone DragZone} which provides default implementations
		/// of the template methods of DragZone to enable dragging of the selected rows of a GridPanel.
		/// See {@link Ext.grid.GridDragZone} for details.&lt;/p&gt;
		/// &lt;p&gt;This will &lt;b&gt;only&lt;/b&gt; be present:&lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
		/// &lt;li&gt;&lt;i&gt;if&lt;/i&gt; the owning GridPanel was configured with {@link Ext.grid.GridPanel#enableDragDrop enableDragDrop}: &lt;tt&gt;true&lt;/tt&gt;.&lt;/li&gt;
		/// &lt;li&gt;&lt;i&gt;after&lt;/i&gt; the owning GridPanel has been rendered.&lt;/li&gt;
		/// &lt;/ul&gt;&lt;/div&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\grid\GridView.js</definedin>
		[ScriptName("dragZone")]
		[IntrinsicProperty()]
		public ext.grid.GridDragZone DragZone
		{
			get
			{
				throw new System.Exception("Imported - not implemented");
			}
			set
			{
			}
		}
		
		/// <summary>The template to use when rendering headers. Has a default template</summary>
		/// <definedin>src\widgets\grid\GridView.js</definedin>
		[ScriptName("headerTpl")]
		[IntrinsicProperty()]
		public ext.Template HeaderTpl
		{
			get
			{
				throw new System.Exception("Imported - not implemented");
			}
			set
			{
			}
		}
		
		/// <summary>The template to use when rendering the body. Has a default template</summary>
		/// <definedin>src\widgets\grid\GridView.js</definedin>
		[ScriptName("bodyTpl")]
		[IntrinsicProperty()]
		public ext.Template BodyTpl
		{
			get
			{
				throw new System.Exception("Imported - not implemented");
			}
			set
			{
			}
		}
		
		/// <summary>The template to use to render each cell. Has a default template</summary>
		/// <definedin>src\widgets\grid\GridView.js</definedin>
		[ScriptName("cellTpl")]
		[IntrinsicProperty()]
		public ext.Template CellTpl
		{
			get
			{
				throw new System.Exception("Imported - not implemented");
			}
			set
			{
			}
		}
		
		/// <summary>
		/// Read-only. The GridView&apos;s body Element which encapsulates all rows in the Grid.
		/// This {@link Ext.Element Element} is only available after the GridPanel has been rendered.
		/// </summary>
		/// <htmlSummary>
		/// &lt;i&gt;Read-only&lt;/i&gt;. The GridView&apos;s body Element which encapsulates all rows in the Grid.
		/// This {@link Ext.Element Element} is only available after the GridPanel has been rendered.
		/// </htmlSummary>
		/// <definedin>src\widgets\grid\GridView.js</definedin>
		[ScriptName("mainBody")]
		[IntrinsicProperty()]
		public ext.Element MainBody
		{
			get
			{
				throw new System.Exception("Imported - not implemented");
			}
			set
			{
			}
		}
		#endregion
		
		#region Methods
		/// <summary>
		/// Override this function to apply custom CSS classes to rows during rendering. You can also supply custom
		/// parameters to the row template for the current row to customize how it is rendered using the rowParams
		/// parameter. This function should return the CSS class name (or empty string &apos;&apos; for none) that will be added
		/// to the row&apos;s wrapping div. To apply multiple class names, simply return them space-delimited within the string
		/// (e.g., &apos;my-class another-class&apos;). Example usage:
		/// 
		/// viewConfig: {
		/// forceFit: true,
		/// showPreview: true, // custom property
		/// enableRowBody: true, // required to create a second, full-width row to show expanded Record data
		/// getRowClass: function(record, rowIndex, rp, ds){ // rp = rowParams
		/// if(this.showPreview){
		/// rp.body = &apos;&amp;lt;p&gt;&apos;+record.data.excerpt+&apos;&amp;lt;/p&gt;&apos;;
		/// return &apos;x-grid3-row-expanded&apos;;
		/// }
		/// return &apos;x-grid3-row-collapsed&apos;;
		/// }
		/// },
		/// </summary>
		/// <htmlSummary>
		/// Override this function to apply custom CSS classes to rows during rendering. You can also supply custom
		/// parameters to the row template for the current row to customize how it is rendered using the &lt;b&gt;rowParams&lt;/b&gt;
		/// parameter. This function should return the CSS class name (or empty string &apos;&apos; for none) that will be added
		/// to the row&apos;s wrapping div. To apply multiple class names, simply return them space-delimited within the string
		/// (e.g., &apos;my-class another-class&apos;). Example usage:
		/// &lt;pre&gt;&lt;code&gt;
		/// viewConfig: {
		/// forceFit: true,
		/// showPreview: true, // custom property
		/// enableRowBody: true, // required to create a second, full-width row to show expanded Record data
		/// getRowClass: function(record, rowIndex, rp, ds){ // rp = rowParams
		/// if(this.showPreview){
		/// rp.body = &apos;&amp;lt;p&gt;&apos;+record.data.excerpt+&apos;&amp;lt;/p&gt;&apos;;
		/// return &apos;x-grid3-row-expanded&apos;;
		/// }
		/// return &apos;x-grid3-row-collapsed&apos;;
		/// }
		/// },
		/// &lt;/code&gt;&lt;/pre&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\grid\GridView.js</definedin>
		/// <param name="record">The {@link Ext.data.Record} corresponding to the current row.</param>
		/// <param name="index">The row index.</param>
		/// <param name="rowParams">
		/// A config object that is passed to the row template during rendering that allows
		/// customization of various aspects of a grid row.
		/// &lt;p&gt;If {@link #enableRowBody} is configured &lt;b&gt;&lt;tt&gt;&lt;/tt&gt;true&lt;/b&gt;, then the following properties may be set
		/// by this function, and will be used to render a full-width expansion row below each grid row:&lt;/p&gt;
		/// &lt;ul&gt;
		/// &lt;li&gt;<c>body</c> : String &lt;div class=&quot;sub-desc&quot;&gt;An HTML fragment to be used as the expansion row&apos;s body content (defaults to &apos;&apos;).&lt;/div&gt;&lt;/li&gt;
		/// &lt;li&gt;<c>bodyStyle</c> : String &lt;div class=&quot;sub-desc&quot;&gt;A CSS style specification that will be applied to the expansion row&apos;s &amp;lt;tr&gt; element. (defaults to &apos;&apos;).&lt;/div&gt;&lt;/li&gt;
		/// &lt;/ul&gt;
		/// The following property will be passed in, and may be appended to:
		/// &lt;ul&gt;
		/// &lt;li&gt;<c>tstyle</c> : String &lt;div class=&quot;sub-desc&quot;&gt;A CSS style specification that willl be applied to the &amp;lt;table&gt; element which encapsulates
		/// both the standard grid row, and any expansion row.&lt;/div&gt;&lt;/li&gt;
		/// &lt;/ul&gt;
		/// </param>
		/// <param name="store">The {@link Ext.data.Store} this grid is bound to</param>
		/// <returns>a CSS class name to add to the row.</returns>
		[ScriptName("getRowClass")]
		public string GetRowClass(ext.data.RecordClass record, System.Number index, object rowParams, ext.data.Store store)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>
		/// Return the index of the grid column which contains the passed HTMLElement. 
		/// See also {@link #findRowIndex}
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;Return the index of the grid column which contains the passed HTMLElement.&lt;/p&gt;
		/// See also {@link #findRowIndex}
		/// </htmlSummary>
		/// <definedin>src\widgets\grid\GridView.js</definedin>
		/// <param name="el">The target element</param>
		/// <returns>The column index, or &lt;b&gt;false&lt;/b&gt; if the target element is not within a row of this GridView.</returns>
		[ScriptName("findCellIndex")]
		public System.Number FindCellIndex(System.Html.Element el)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Return the HtmlElement representing the grid row which contains the passed element.</summary>
		/// <definedin>src\widgets\grid\GridView.js</definedin>
		/// <param name="el">The target HTMLElement</param>
		/// <returns>The row element, or null if the target element is not within a row of this GridView.</returns>
		[ScriptName("findRow")]
		public System.Html.Element FindRow(System.Html.Element el)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>
		/// Return the index of the grid row which contains the passed HTMLElement.
		/// See also {@link #findCellIndex}
		/// </summary>
		/// <definedin>src\widgets\grid\GridView.js</definedin>
		/// <param name="el">The target HTMLElement</param>
		/// <returns>The row index, or &lt;b&gt;false&lt;/b&gt; if the target element is not within a row of this GridView.</returns>
		[ScriptName("findRowIndex")]
		public System.Number FindRowIndex(System.Html.Element el)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Return the HtmlElement representing the grid row body which contains the passed element.</summary>
		/// <definedin>src\widgets\grid\GridView.js</definedin>
		/// <param name="el">The target HTMLElement</param>
		/// <returns>The row body element, or null if the target element is not within a row body of this GridView.</returns>
		[ScriptName("findRowBody")]
		public System.Html.Element FindRowBody(System.Html.Element el)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Return the &amp;lt;div&gt; HtmlElement which represents a Grid row for the specified index.</summary>
		/// <htmlSummary>Return the &lt;tt&gt;&amp;lt;div&gt;&lt;/tt&gt; HtmlElement which represents a Grid row for the specified index.</htmlSummary>
		/// <definedin>src\widgets\grid\GridView.js</definedin>
		/// <param name="index">The row index</param>
		/// <returns>The div element.</returns>
		[ScriptName("getRow")]
		public System.Html.Element GetRow(System.Number index)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Returns the grid&apos;s &amp;lt;td&gt; HtmlElement at the specified coordinates.</summary>
		/// <htmlSummary>Returns the grid&apos;s &lt;tt&gt;&amp;lt;td&gt;&lt;/tt&gt; HtmlElement at the specified coordinates.</htmlSummary>
		/// <definedin>src\widgets\grid\GridView.js</definedin>
		/// <param name="row">The row index in which to find the cell.</param>
		/// <param name="col">The column index of the cell.</param>
		/// <returns>The td at the specified coordinates.</returns>
		[ScriptName("getCell")]
		public System.Html.Element GetCell(System.Number row, System.Number col)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Return the &amp;lt;td&gt; HtmlElement which represents the Grid&apos;s header cell for the specified column index.</summary>
		/// <htmlSummary>Return the &lt;tt&gt;&amp;lt;td&gt;&lt;/tt&gt; HtmlElement which represents the Grid&apos;s header cell for the specified column index.</htmlSummary>
		/// <definedin>src\widgets\grid\GridView.js</definedin>
		/// <param name="index">The column index</param>
		/// <returns>The td element.</returns>
		[ScriptName("getHeaderCell")]
		public System.Html.Element GetHeaderCell(System.Number index)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Scrolls the grid to the top</summary>
		/// <definedin>src\widgets\grid\GridView.js</definedin>
		[ScriptName("scrollToTop")]
		public void ScrollToTop()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Focuses the specified row.</summary>
		/// <definedin>src\widgets\grid\GridView.js</definedin>
		/// <param name="row">The row index</param>
		[ScriptName("focusRow")]
		public void FocusRow(System.Number row)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Focuses the specified cell.</summary>
		/// <definedin>src\widgets\grid\GridView.js</definedin>
		/// <param name="row">The row index</param>
		/// <param name="col">The column index</param>
		[ScriptName("focusCell")]
		public void FocusCell(System.Number row, System.Number col)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Returns the total internal width available to the grid, taking the scrollbar into account</summary>
		/// <definedin>src\widgets\grid\GridView.js</definedin>
		/// <returns>The total width</returns>
		[ScriptName("getGridInnerWidth")]
		public System.Number GetGridInnerWidth()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>
		/// Called by handleHdMenuClick if any button except a sort ASC/DESC button was clicked. The default implementation provides
		/// the column hide/show functionality based on the check state of the menu item. A different implementation can be provided
		/// if needed.
		/// </summary>
		/// <definedin>src\widgets\grid\GridView.js</definedin>
		/// <param name="item">The menu item that was clicked</param>
		[ScriptName("handleHdMenuClickDefault")]
		public void HandleHdMenuClickDefault(ext.menu.BaseItem item)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Refreshs the grid UI</summary>
		/// <definedin>src\widgets\grid\GridView.js</definedin>
		/// <param name="headersToo">True to also refresh the headers</param>
		[ScriptName("refresh")]
		public void RefreshMethod(bool headersToo)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Refreshs the grid UI</summary>
		/// <definedin>src\widgets\grid\GridView.js</definedin>
		[ScriptName("refresh")]
		public void RefreshMethod()
		{
			throw new System.Exception("Imported - not implemented");
		}
		#endregion
		
		#region Events
		/// <summary>Internal UI Event. Fired before a row is removed.</summary>
		/// <definedin>src\widgets\grid\GridView.js</definedin>
		[ScriptName("beforerowremoved")]
		public event ext.auto.Delegate_ext_grid_GridView_And_System_Number_And_ext_data_RecordClass Beforerowremoved;
		
		/// <summary>Internal UI Event. Fired before rows are inserted.</summary>
		/// <definedin>src\widgets\grid\GridView.js</definedin>
		[ScriptName("beforerowsinserted")]
		public event ext.auto.Delegate_ext_grid_GridView_And_System_Number_And_System_Number Beforerowsinserted;
		
		/// <summary>Internal UI Event. Fired before the view is refreshed.</summary>
		/// <definedin>src\widgets\grid\GridView.js</definedin>
		[ScriptName("beforerefresh")]
		public event ext.auto.Delegate_ext_grid_GridView Beforerefresh;
		
		/// <summary>Internal UI Event. Fired after a row is removed.</summary>
		/// <definedin>src\widgets\grid\GridView.js</definedin>
		[ScriptName("rowremoved")]
		public event ext.auto.Delegate_ext_grid_GridView_And_System_Number_And_ext_data_RecordClass Rowremoved;
		
		/// <summary>Internal UI Event. Fired after rows are inserted.</summary>
		/// <definedin>src\widgets\grid\GridView.js</definedin>
		[ScriptName("rowsinserted")]
		public event ext.auto.Delegate_ext_grid_GridView_And_System_Number_And_System_Number Rowsinserted;
		
		/// <summary>Internal UI Event. Fired after a row has been updated.</summary>
		/// <definedin>src\widgets\grid\GridView.js</definedin>
		[ScriptName("rowupdated")]
		public event ext.auto.Delegate_ext_grid_GridView_And_System_Number_And_ext_data_RecordClass Rowupdated;
		
		/// <summary>Internal UI Event. Fired after the GridView&apos;s body has been refreshed.</summary>
		/// <definedin>src\widgets\grid\GridView.js</definedin>
		[ScriptName("refresh")]
		public event ext.auto.Delegate_ext_grid_GridView Refresh;
		#endregion
	}
}
